package araujoCoronelVillamayor.plantasVsZombies.domain

import org.uqbar.commons.utils.Observable
import java.io.Serializable

@Observable	
class AtaqueLog implements Serializable {
	@Property String mensaje
	@Property String atacanteStats
	@Property String defensorStats 
	
	def String generarEstado(Criatura unaCriatura){
		unaCriatura.nombre + ": ATAQUE=" + unaCriatura.poderAtaque() + " DEFENSA=" + unaCriatura.poderDefensa()
	}
	
	def generarPreAtaqueLog(Criatura atacante, Criatura victima){
		atacanteStats = generarEstado(atacante)
		defensorStats = generarEstado(victima)		
		mensaje = atacante.nombre + " ataca a " + victima.nombre
	}
	
	def generarPostAtaqueLog(Criatura atacante, Criatura victima){
		atacanteStats = generarEstado(atacante)
		defensorStats = generarEstado(victima)		
		mensaje = "POST ATAQUE"
	}
	
	def generarMuerteLog(Criatura difunto){
		atacanteStats = ""
		defensorStats = ""
		mensaje = "Se murió " + difunto.nombre
	}
	
	def generarGanadorLog(Criatura ganador){
		atacanteStats = ""
		defensorStats = ""
		mensaje = "GANÓ " + ganador.nombre + "!!!"
	}
	
	def generarFinalLog(Criatura ganador){
		atacanteStats = ""
		defensorStats = ""
		mensaje = ganador.nombre + " se comió todas las plantas de la fila."
	}
	
	def generarEntregaPremio(Zombie zombie) {
		atacanteStats = ""
		defensorStats = ""
		mensaje = "Ganaste " + zombie.premio + " puntos."
	}
}